package com.zg.autoflow.vo;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
* @author zg
*/
@Data
public class AutoflowStepAddVo {
    /**
    * 主键ID
    */
    private Long id;
    /**
    * 环节编号
    */
    private String stepNo;
    /**
    * 环节名称
    */
    private String stepName;
    /**
    * 环节处理人(逗号拼接)
    */
    private String stepHandler;
    /**
    * 环节绑定表单id
    */
    private Long stepFormId;
    /**
    * 下一环节编号
    */
    private String nextStepId;
    /**
    * 所属流程
    */
    @NotNull(message = "所属流程不能为空")
    private Long flowId;
    /**
    * 处理人组织逗号拼接
    */
    private String stepHandlerOrg;
    /**
    环节类型
    */
    private String stepType;
    /**
    * 坐标
    */
    private String leftIndex;
    /**
    * 坐标
    */
    private String topIndex;
    /**
    * 环节图标
    */
    private String ico;
    /**
    * 设计器id
    */
    private String designId;
    /**
    * 状态
    */
    private String stepState;
    /**
    * 审批人
    */
    private String approverNames;
    /**
    * 审批人id
    */
    private String approverIds;
    /**
    * 表单(存放表单code)
    */
    private String stepForm;
    /**
    * 可重新编辑
    */
    private String isEdit;
    /**
    * 必须盖章
    */
    private String isSeal;
    /**
    * 可以退回
    */
    private String isReturn;
    /**
    * 可以被退回
    */
    private String isReturned;
    /**
    * 序号
    */
    private Integer seq;
    /**
    * 单签会签
    */
    private String approveType;
    /**
    * 盖章数据
    */
    private String sealData;
    /**
    * 是否某主体的结束节点
    */
    private String isStepEnd;
    /**
    * 流程环节归属子公司还是销售主体 2子公司 3 销售主体
    */
    private String stepFlag;
    /**
    * 0非发票、1矿点发票、2子公司发票、3销售主体发票
    */
    private String billStep;
    /**
    * 锁死状态（1锁死）
    */
    private String lockStatus;
    /**
    * 选人模式
    */
    private String selectHandlerMode;
    /**
    * 是否需要发送短信（0不需要发送,1需要发送短信）
    */
    private String shortMessage;
    /**
    * 需要发送短信模板的标题
    */
    private String shortMessageType;
    /**
    * 环节自定义参数 为了以后扩展，目前可以作为结束的配置，内容是个json
    */
    private String stepParameter;
    /**
    * 归属组织类型 kd-矿点 zgs-子公司 xszt-销售主体
    */
    private String orgType;
    /**
    * 退回是否需要审批0-否，1-是
    */
    private String isBackApproval;
    /**
    * 流程环节类型 子公司采购|子公司销售|销售主体销售|销售主体采购|销售主体销售|子公司销售
    */
    private String flowStepType;
    /**
    * app是否可操作 0-否    1-是
    */
    private String canApp;
    private String zt;
    @NotEmpty(message = "环节处理人不能为空")
    private List<Long> personList;
}
